const webpack = require("webpack");

module.exports = {
//configureWebpack 是Vue CLI3.0 中用于配置 webpack 插件参数的地方，你在这里设置，会新建或者覆盖 webpack 默认配置。
//webpack ProvidePlugin 的含义是创建一个全局的变量，使这个变量在 webpack 各个模块内都可以使用。这里的配置含义是创建 '$'、'jQuery'、'window.jQuery' 三个变量指向 jquery 依赖，创建 'Popper' 变量指向 popper.js 依赖。
  runtimeCompiler: true, // 是否使用包含运行时编译器的 Vue 构建版本。设置为 true 后你就可以在 Vue 组件中使用 template 选项了，但是这会让你的应用额外增加 10kb 左右。
  publicPath: process.env.VUE_APP_PublicPath, // 基本路径
  outputDir: process.env.VUE_APP_OutputDir, // 输出文件目录
  /*devServer: {
    port: 8080,
    host: "192.168.1.37",
    proxy: {
      "api": {
        changeOrigin: true,
        target: "http://47.115.153.142:39005/" // "http://221.236.26.50:82"
      },
      "admin": {
        changeOrigin: true,
        target: "http://47.115.153.142:39006/" // "http://221.236.26.50:82"
      } 
    }
  },*/
  css: {
    // 将组件内的 CSS 提取到一个单独的 CSS 文件 (只用在生产环境中)
    // 也可以是一个传递给 `extract-text-webpack-plugin` 的选项对象
    extract: {
      filename: 'css/[contenthash].css', // 'css/[name]-[contenthash].css', // 'css/' + getCurrenTime() + '-[name].css',
      chunkFilename: 'css/[contenthash].css' // 'css/[name]-[contenthash].css' // 'css/' + getCurrenTime() + '-[name].css'
    },
    // 是否开启 CSS source map？
    sourceMap: false,
    // 为预处理器的 loader 传递自定义选项。比如传递给
    // sass-loader 时，使用 `{ sass: { ... } }`。
    loaderOptions: {
      sass: {
        data: `@import "@/assets/css/_variable.scss";`
      }
    },
    // 为所有的 CSS 及其预处理文件开启 CSS Modules。
    // 这个选项不会影响 `*.vue` 文件。
    modules: false
  },
  configureWebpack: config => {
    config.plugins.push(
      new webpack.ProvidePlugin({  //引入Jquery
        $: 'jquery',
        jQuery: 'jquery',
        'window.jQuery':'jquery'
      })
    )
    if (process.env.NODE_ENV === 'production') {
      // 为生产环境修改配置...
      config.output.filename = 'js/[chunkhash].js', // 'js/[name]-[chunkhash].js'  // 'js/' + getCurrenTime() + '-[name].js' // [name]，[id]，[chunkhash]， [contenthash]
      config.output.chunkFilename = 'js/[chunkhash].js' // 'js/[name]-[chunkhash].js' // 'js/' + getCurrenTime() + '-[name].js' // [name]，[id]，[chunkhash]， [contenthash]
    } else {
      // 为开发环境修改配置...
    }
  }
}

function getCurrenTime() {
  var date = new Date()
  var seperation1 = '.'
  var seperation2 = '.'
  var month = date.getMonth() + 1
  var strDate = date.getDate()
  var second = date.getSeconds()
  if (month >= 1 && month <= 9) {
    month = '0' + month
  }
  if (strDate >= 0 && strDate <= 9) {
    strDate = '0' + strDate
  }
  if (second >= 0 && second <= 9) {
    second = '0' + second
  }
  var currenTime = date.getFullYear() + seperation1 + month + seperation1 + strDate + '-' + date.getHours() + seperation2 + date.getMinutes() + seperation2 + second
  return currenTime
}